<?php
/*
 * Copyright (c) 2017-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Ocr\V20181119\Models;
use TencentCloud\Common\AbstractModel;

/**
 * RecognizeThaiPinkCard response structure.
 *
 * @method string getCountry() Obtain Country
 * @method void setCountry(string $Country) Set Country
 * @method string getIDNumber() Obtain ID number
 * @method void setIDNumber(string $IDNumber) Set ID number
 * @method string getThaiName() Obtain Name in Thai
 * @method void setThaiName(string $ThaiName) Set Name in Thai
 * @method string getEnName() Obtain Name in English
 * @method void setEnName(string $EnName) Set Name in English
 * @method string getThaiSurName() Obtain Surname in Thai
 * @method void setThaiSurName(string $ThaiSurName) Set Surname in Thai
 * @method string getThaiDOB() Obtain Date of birth in Thai
 * @method void setThaiDOB(string $ThaiDOB) Set Date of birth in Thai
 * @method string getEnDOB() Obtain Date of birth in English
 * @method void setEnDOB(string $EnDOB) Set Date of birth in English
 * @method string getPhotoNumber() Obtain Photo number
 * @method void setPhotoNumber(string $PhotoNumber) Set Photo number
 * @method string getThaiAddress() Obtain Address in Thai
 * @method void setThaiAddress(string $ThaiAddress) Set Address in Thai
 * @method string getThaiDateOfIssue() Obtain Date of issue in Thai
 * @method void setThaiDateOfIssue(string $ThaiDateOfIssue) Set Date of issue in Thai
 * @method string getDateOfIssue() Obtain Date of issue in English
 * @method void setDateOfIssue(string $DateOfIssue) Set Date of issue in English
 * @method string getThaiDateOfExpiry() Obtain Expiration date in Thai
 * @method void setThaiDateOfExpiry(string $ThaiDateOfExpiry) Set Expiration date in Thai
 * @method string getDateOfExpiry() Obtain Expiration date in English
 * @method void setDateOfExpiry(string $DateOfExpiry) Set Expiration date in English
 * @method string getIssuingAgency() Obtain Issuing agency
 * @method void setIssuingAgency(string $IssuingAgency) Set Issuing agency
 * @method string getRefNumber() Obtain Ref number
 * @method void setRefNumber(string $RefNumber) Set Ref number
 * @method string getAdvancedInfo() Obtain Field confidence:
 { "ID": { "Confidence": 0.9999 }, "ThaiName": { "Confidence": 0.9996 } }
 * @method void setAdvancedInfo(string $AdvancedInfo) Set Field confidence:
 { "ID": { "Confidence": 0.9999 }, "ThaiName": { "Confidence": 0.9996 } }
 * @method string getPortraitImage() Obtain Identity photo
 * @method void setPortraitImage(string $PortraitImage) Set Identity photo
 * @method array getWarnCardInfos() Obtain Card Warning Information

-9101 Alarm for covered certificate,
-9102 Alarm for photocopied certificate,
-9103 Alarm for photographed certificate,
-9107 Alarm for reflective certificate,
-9108 Alarm for blurry image,
-9109 This capability is not enabled.
 * @method void setWarnCardInfos(array $WarnCardInfos) Set Card Warning Information

-9101 Alarm for covered certificate,
-9102 Alarm for photocopied certificate,
-9103 Alarm for photographed certificate,
-9107 Alarm for reflective certificate,
-9108 Alarm for blurry image,
-9109 This capability is not enabled.
 * @method string getRequestId() Obtain The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 * @method void setRequestId(string $RequestId) Set The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 */
class RecognizeThaiPinkCardResponse extends AbstractModel
{
    /**
     * @var string Country
     */
    public $Country;

    /**
     * @var string ID number
     */
    public $IDNumber;

    /**
     * @var string Name in Thai
     */
    public $ThaiName;

    /**
     * @var string Name in English
     */
    public $EnName;

    /**
     * @var string Surname in Thai
     */
    public $ThaiSurName;

    /**
     * @var string Date of birth in Thai
     */
    public $ThaiDOB;

    /**
     * @var string Date of birth in English
     */
    public $EnDOB;

    /**
     * @var string Photo number
     */
    public $PhotoNumber;

    /**
     * @var string Address in Thai
     */
    public $ThaiAddress;

    /**
     * @var string Date of issue in Thai
     */
    public $ThaiDateOfIssue;

    /**
     * @var string Date of issue in English
     */
    public $DateOfIssue;

    /**
     * @var string Expiration date in Thai
     */
    public $ThaiDateOfExpiry;

    /**
     * @var string Expiration date in English
     */
    public $DateOfExpiry;

    /**
     * @var string Issuing agency
     */
    public $IssuingAgency;

    /**
     * @var string Ref number
     */
    public $RefNumber;

    /**
     * @var string Field confidence:
 { "ID": { "Confidence": 0.9999 }, "ThaiName": { "Confidence": 0.9996 } }
     */
    public $AdvancedInfo;

    /**
     * @var string Identity photo
     */
    public $PortraitImage;

    /**
     * @var array Card Warning Information

-9101 Alarm for covered certificate,
-9102 Alarm for photocopied certificate,
-9103 Alarm for photographed certificate,
-9107 Alarm for reflective certificate,
-9108 Alarm for blurry image,
-9109 This capability is not enabled.
     */
    public $WarnCardInfos;

    /**
     * @var string The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    public $RequestId;

    /**
     * @param string $Country Country
     * @param string $IDNumber ID number
     * @param string $ThaiName Name in Thai
     * @param string $EnName Name in English
     * @param string $ThaiSurName Surname in Thai
     * @param string $ThaiDOB Date of birth in Thai
     * @param string $EnDOB Date of birth in English
     * @param string $PhotoNumber Photo number
     * @param string $ThaiAddress Address in Thai
     * @param string $ThaiDateOfIssue Date of issue in Thai
     * @param string $DateOfIssue Date of issue in English
     * @param string $ThaiDateOfExpiry Expiration date in Thai
     * @param string $DateOfExpiry Expiration date in English
     * @param string $IssuingAgency Issuing agency
     * @param string $RefNumber Ref number
     * @param string $AdvancedInfo Field confidence:
 { "ID": { "Confidence": 0.9999 }, "ThaiName": { "Confidence": 0.9996 } }
     * @param string $PortraitImage Identity photo
     * @param array $WarnCardInfos Card Warning Information

-9101 Alarm for covered certificate,
-9102 Alarm for photocopied certificate,
-9103 Alarm for photographed certificate,
-9107 Alarm for reflective certificate,
-9108 Alarm for blurry image,
-9109 This capability is not enabled.
     * @param string $RequestId The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("Country",$param) and $param["Country"] !== null) {
            $this->Country = $param["Country"];
        }

        if (array_key_exists("IDNumber",$param) and $param["IDNumber"] !== null) {
            $this->IDNumber = $param["IDNumber"];
        }

        if (array_key_exists("ThaiName",$param) and $param["ThaiName"] !== null) {
            $this->ThaiName = $param["ThaiName"];
        }

        if (array_key_exists("EnName",$param) and $param["EnName"] !== null) {
            $this->EnName = $param["EnName"];
        }

        if (array_key_exists("ThaiSurName",$param) and $param["ThaiSurName"] !== null) {
            $this->ThaiSurName = $param["ThaiSurName"];
        }

        if (array_key_exists("ThaiDOB",$param) and $param["ThaiDOB"] !== null) {
            $this->ThaiDOB = $param["ThaiDOB"];
        }

        if (array_key_exists("EnDOB",$param) and $param["EnDOB"] !== null) {
            $this->EnDOB = $param["EnDOB"];
        }

        if (array_key_exists("PhotoNumber",$param) and $param["PhotoNumber"] !== null) {
            $this->PhotoNumber = $param["PhotoNumber"];
        }

        if (array_key_exists("ThaiAddress",$param) and $param["ThaiAddress"] !== null) {
            $this->ThaiAddress = $param["ThaiAddress"];
        }

        if (array_key_exists("ThaiDateOfIssue",$param) and $param["ThaiDateOfIssue"] !== null) {
            $this->ThaiDateOfIssue = $param["ThaiDateOfIssue"];
        }

        if (array_key_exists("DateOfIssue",$param) and $param["DateOfIssue"] !== null) {
            $this->DateOfIssue = $param["DateOfIssue"];
        }

        if (array_key_exists("ThaiDateOfExpiry",$param) and $param["ThaiDateOfExpiry"] !== null) {
            $this->ThaiDateOfExpiry = $param["ThaiDateOfExpiry"];
        }

        if (array_key_exists("DateOfExpiry",$param) and $param["DateOfExpiry"] !== null) {
            $this->DateOfExpiry = $param["DateOfExpiry"];
        }

        if (array_key_exists("IssuingAgency",$param) and $param["IssuingAgency"] !== null) {
            $this->IssuingAgency = $param["IssuingAgency"];
        }

        if (array_key_exists("RefNumber",$param) and $param["RefNumber"] !== null) {
            $this->RefNumber = $param["RefNumber"];
        }

        if (array_key_exists("AdvancedInfo",$param) and $param["AdvancedInfo"] !== null) {
            $this->AdvancedInfo = $param["AdvancedInfo"];
        }

        if (array_key_exists("PortraitImage",$param) and $param["PortraitImage"] !== null) {
            $this->PortraitImage = $param["PortraitImage"];
        }

        if (array_key_exists("WarnCardInfos",$param) and $param["WarnCardInfos"] !== null) {
            $this->WarnCardInfos = $param["WarnCardInfos"];
        }

        if (array_key_exists("RequestId",$param) and $param["RequestId"] !== null) {
            $this->RequestId = $param["RequestId"];
        }
    }
}
